//#include <stdio.h>
//#include <stdlib.h>
//
//struct ListNode {
//    int data;
//    struct ListNode *next;
//};
//
//struct ListNode *readlist();
//
//struct ListNode *getodd( struct ListNode **L );
//
//
//struct ListNode *deletem( struct ListNode *L, int m );
//
//void printlist( struct ListNode *L ) {
//    struct ListNode *p = L;
//    while (p) {
//        printf("%d ", p->data);
//        p = p->next;
//    }
//    printf("\n");
//}
//
////int main()
////{
////    struct ListNode *L, *Odd;
////    L = readlist();
////    printlist(L);
////    Odd = getodd(&L);
////    printf("奇数:");
////    printlist(Odd);
////    printf("偶数:");
////    printlist(L);
////
////    return 0;
////}
//
///* 你的代码将被嵌在这里 */
////读取list 读到 -1 截止
//struct ListNode *readlist(){
//    struct ListNode *head = NULL;
//    struct ListNode *tail=NULL;
//    int index = 0;
//    int i=0;
//    for(;;){
//        scanf("%d",&i);
//        if (i != -1){
//            struct ListNode *p= (struct ListNode *)malloc(sizeof(struct ListNode));
//            p->data=i;
//            p -> next =NULL;
//            if (index == 0){
//                p -> next = NULL;
//                head= p;
//                tail = p;
//            } else{
//                tail->next=p;
//                tail = p;
//            }
//            index++;
//        } else{
//            break;
//        }
//    }
//    return head;
//}
//
//struct ListNode *deletem(struct ListNode *L, int m ){
//    struct ListNode* head = (struct ListNode *)malloc(sizeof(struct ListNode));
//    head -> next = L;
//    struct ListNode* pre = head;
//    while (pre != NULL && pre -> next != NULL){
//        while (pre->next != NULL &&   pre -> next -> data  == m){
//            struct ListNode* tmp = pre->next;
//            pre->next = tmp->next;
//            tmp->next =NULL;
//            free(tmp);
//        }
//        pre = pre->next;
//    }
//    return head -> next;
//}
//
//
//
//struct ListNode *getodd( struct ListNode **L ){
//    //even 偶数  odd 奇数
//    struct ListNode* odd = (struct ListNode *)malloc(sizeof(struct ListNode));
//    odd -> next = NULL;
//    struct ListNode* even = (struct ListNode *)malloc(sizeof(struct ListNode));
//    even -> next = *L;
//    struct ListNode* p = even;
//    struct ListNode* q  = odd;
//    while (p != NULL && p->next != NULL){
//        while (p->next != NULL && p -> next->data % 2 != 0){
//            struct ListNode* tmp = p->next;
//            p->next = tmp->next;
//            tmp->next =NULL;
//            q->next = tmp;
//            q = tmp;
//        }
//        p = p->next;
//    }
//    *L = even->next;
//    return odd->next;
//}
//
//
//
//
//
//
